<?php

namespace Ecom\ProdutosBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Ecom\ProdutosBundle\Entity\EcomProdutoModeloatr
 *
 * @ORM\Table(name="ecom_produto_modeloatr")
 * @ORM\Entity
 */
class ModeloAtr {

    /**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;

    /**
     * @var string $nome
     *
     * @ORM\Column(name="nome", type="string", length=255, nullable=false, unique=true)
     */
    private $nome;

    /**
     * @var text $descricao
     *
     * @ORM\Column(name="descricao", type="text", nullable=true)
     */
    private $descricao;

    /**
     * @var EcomProdutoAtributo
     *
     * @ORM\ManyToMany(targetEntity="Atributo", inversedBy="modeloatr")
     * @ORM\JoinTable(name="ecom_produto_modeloatr_atributo",
     *   joinColumns={
     *     @ORM\JoinColumn(name="modeloatr_id", referencedColumnName="id")
     *   },
     *   inverseJoinColumns={
     *     @ORM\JoinColumn(name="atributo_id", referencedColumnName="id")
     *   }
     * )
     */
    private $atributo;

    public function __construct() {
        $this->atributo = new \Doctrine\Common\Collections\ArrayCollection();
    }

    /**
     * Método necessário para listas em outros CRUD
     * 
     * @return string
     */
    public function __toString() {
        return $this->getNome();
    }

    /**
     * Get id
     *
     * @return integer 
     */
    public function getId() {
        return $this->id;
    }

    /**
     * Set nome
     *
     * @param string $nome
     */
    public function setNome($nome) {
        $this->nome = $nome;
    }

    /**
     * Get nome
     *
     * @return string 
     */
    public function getNome() {
        return $this->nome;
    }

    /**
     * Set descricao
     *
     * @param text $descricao
     */
    public function setDescricao($descricao) {
        $this->descricao = $descricao;
    }

    /**
     * Get descricao
     *
     * @return text 
     */
    public function getDescricao() {
        return $this->descricao;
    }

    /**
     * Add atributo
     *
     * @param Ecom\ProdutosBundle\Entity\EcomProdutoAtributo $atributo
     */
    public function addEcomProdutoAtributo(\Ecom\ProdutosBundle\Entity\EcomProdutoAtributo $atributo) {
        $this->atributo[] = $atributo;
    }

    /**
     * Set atributo
     * 
     * @return EcomProdutoAtributo $atributo
     */
    public function setAtributo() {
        return $this->atributo;
    }

    /**
     * Get atributo
     *
     * @return Doctrine\Common\Collections\Collection 
     */
    public function getAtributo() {
        return $this->atributo;
    }

}